4

scp (Secure copy) 命令相信 同学们都知道。今天我想从我的一台同局域网内的Linux 机器上拷贝几个文件到我的的机上来。突然想到,mac 毕竟不是 linux, sshd 服务默认没有启动的可能性很大。

到底有没有 sshd 服务呢?看看呗?于是:

➜  ~  ps auwx | grep sshd
yin 1921  0.0  0.0  2432772 640 s000  S+  6:53下午   0:00.00 grep sshd

果然没有启动 sshd 服务。那怎么办呢?

在 linux 上启动 sshd 服务的方式 很简单。

-> ~ sudo /etc/init.d/sshd start

但是 mac 上没有 init.d 目录啊。

那这样试试。直接使用二进制可执行程序 + 配置文件启动。

-> ~ sudo /usr/bin/sshd - f /etc/sshd_config

这样没有问题,可以正常使用,但是 不能每次开机都执行 一次 命令吧。

于是上网搜罗了一番。原来需要使用 苹果的自家方案.

一般情况下 linux 中的启动服务的方案(包括开机自动启动)都是这样的

-> ~ sudo service sshd start
-> ~ chkconfig --level 35

而最新的 CentOS 7 中是这样的

-> ~ sudo systemctl sshd.service start

Mac OS 中是这样的

-> ~ sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

.plist 文件是 objective-c 编程架构中的 配置文件。
说明 launchctl 服务管理器是oc写的,怎么又废话起来了

停止

-> ~ sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

如何查看进程是否启动

-> ~ sudo launchctl list | grep sshd
-   0   com.openssh.sshd

OK 启动正常。剩下的事情就不必多说了。


东来
1.7k 声望55 粉丝

一年磨一剑,专心写程序